package dao;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import entity.Cost;
import util.DBUtil;

public class SaveDao implements Serializable{
	
	public void save(Cost cost){
		Connection conn=null;	
		try {
			conn=DBUtil.getConnection();
			String sql="INSERT INTO COST VALUES  "
					+ "(COST_SEQ.NEXTVAL,?,?,?,?,'1',?,sysdate,null,?)";
			
			// (6,'包月',null,20,null,0,'每月20元,不限制使用时间',DEFAULT,DEFAULT,'1');
			
			PreparedStatement ps = conn.prepareStatement(sql);
			ps.setString(1,cost.getName());

			//setInte,setDouble不允许传入null;
			//但实际业务中该字段却有可能是null,
			//并且数据库也支持null,可以将这样的字段
			//当做Object处理
//			ps.setObject(2,cost.getBaseDuration());
//			ps.setObject(3, cost.getBaseCost());
//			ps.setObject(4, cost.getUnitCost());
			
			ps.setInt(2,cost.getBaseDuration());
			ps.setDouble(3, cost.getBaseCost());
			ps.setDouble(4, cost.getUnitCost());
			ps.setString(5, cost.getDescr());
			ps.setString(6, cost.getCostType());
					
			
			ps.executeUpdate();
			
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException("增加资费类型失败",e);
		}finally{
			DBUtil.close(conn);
		}
			
	
	
	

	}
}
